<?php

/*
    realizzazione del customtype iscrizione

    questo va incluso nel file plugin che utilizza il post type
 */

// fissa gli hook
function wpf_iscrizione_hooks()
{
	// creo il plugin ed i relativi menu
	register_activation_hook(__FILE__, 'wpf_iscrizione_rewrite_flush'); // serve per i permalink
	add_action('init', 'wpf_iscrizione_init'); // quando inizializzo la pagina
	add_action('init', 'wpf_iscrizione_add_boxes', 1); // solo per compatibilità
// 	add_action('contextual_help', 'wpf_iscrizione_help_text', 10, 3); // genero l'help contestuale ai post, in amministrazione

	// modifico la visualizzazione dei custom-post
// 	add_filter('the_content', 'wpf_iscrizione_view'); // quando visualizzo il testo
// 	add_filter('the_title','wpf_progetto_title'); // quando visualizzo il titolo

	// genero la tabella per la visualizzazione dei fascicoli :
// 	add_filter('manage_wpf_progetto_posts_columns', 'wpf_progetto_list_column_header'); // aggiunge la colonna "azienda" alla lista dei fascicoli
// 	add_filter('manage_edit-wpf_progetto_sortable_columns', 'wpf_progetto_list_sort_columns'); // rende ordinabile per una colonna
// 	add_action('manage_wpf_progetto_posts_custom_column', 'wpf_progetto_list_column_row', 10, 2); // riempie la colonna azienda alla lista dei fascicoli
// 	add_filter('views_edit-wpf_progetto', 'wpf_progetto_link_list'); // per aggiungere link nella lista dei progetti

	// salvo i dati dei vari box creati
//	add_action('save_post', 'wpf_iscrizione_generale_save', 10, 2);

// 	add_action('the_post', 'wpf_progetto_extends'); // aggiunge al progetto i suoi customfields

// 	add_filter('wpf_progetto_available_statuses', 'wpf_filter_status');
}

// inizializza quello che serve
function wpf_iscrizione_init()
{
	// creazione del posttype
	//@ATTENTION modificare le varie descrizioni
	$labels = array(
		'name' => _x('Iscrizioni', 'Iscrizioni'),
		'singular_name' => _x('Iscrizione', 'Nome singolare delle iscrizioni'),
		'add_new' => _x('Aggiungi nuova', 'wp-formazione'),
		'add_new_item' => __('Nuova iscrizione'),
		'edit_item' => __('Modifica iscrizione'),
		'new_item' => __('Nuova iscrizione'),
		'all_items' => __('Tutte le iscrizioni'),
		'view_item' => __('Visualizza questa iscrizione'),
		'search_items' => __('Cerca una iscrizione'),
		'not_found' => __('Nessuna iscrizione trovata'),
		'not_found_in_trash' => __('Non ci sono iscrizioni nel cestino'),
		'parent_item_colon' => '',
		'menu_name' => 'Iscrizioni'
	);

	$args = array(
		'labels' => $labels,
		'public' => true,
		'publicly_queryable' => true,
		'show_ui' => true,
		'show_in_menu' => 'edit.php?post_type=wpf_corso',
		'query_var' => true,
		'rewrite' => array(
			'slug' => 'iscrizione'
		),
		'capability_type' => array(
			'iscrizione', 'iscrizioni'
		),
		'map_meta_cap' => true,
		'has_archive' => true,
		'hierarchical' => true,
		'menu_position' => null,
		'supports' => array(
			'title'
		)
	);

	register_post_type('wpf_iscrizione', $args);
        
   
}

// aggiunge alla iscrizione i suoi customtype
function wpf_iscrizione_extends($post) {
	// solo in caso di iscrizione
	if ($post->post_type != 'wpf_iscrizione')
	{
		return;
	}

	$post->utente = get_post_meta($post->ID, 'utente',true);
	$post->data_iscrizione = get_post_meta($post->ID, 'data_iscrizione', true);
	$post->modalita = get_post_meta($post->ID, 'modalita', true);
	$post->key = get_post_meta($post->ID, 'key', true);
	$post->invito = get_post_meta($post->ID, 'invito', true);
}

// serve per gestire i permalink
function wpf_iscrizione_rewrite_flush()
{
	wpf_iscrizione_init();
	flush_rewrite_rules();
}

// aggiunge i boxes necessari a
function wpf_iscrizione_add_boxes()
{
	
        // vedi il form in generale box
    
        register_post_parentbox('wpf_iscrizione', 'Corso',wpf_get_query('corsi_pubblicati'),__("Corso", WPF_DOMAIN ));
        
}

function wpf_iscrizione_generale_box()
{
	global $post;
	global $wpf_domain;

	// Use nonce for verification
	wp_nonce_field(plugin_basename(__FILE__), 'wpf_iscrizione_noncename');

	$users_list = get_users('blog_id=1&orderby=nicename&role=manager');
	$users = '';

	foreach ($users_list as $user)
	{
		$users .= $user->user_login.',';
	}
	$readonly = (!current_user_can('approve_iscrizioni')) && ($post->post_status != 'published');

// 	$readonly = false; // DEBUG

	// The actual fields for data entry
	admin_field(
			'utente',
			($readonly ? 'readonly' : 'smalltext'),
			'Utente',
			get_post_meta($post->ID, 'utente', true),
			$wpf_domain,
			'Inserisci qui l\'utente da iscrivere.'
	);

	//@TODO deve essere un campo per upload di file
	admin_field(
			'data_iscrizione',
			($readonly ? 'readonly' : 'date'),
			'Data di iscrizione',
			get_post_meta($post->ID, 'data_iscrizione', true),
			$wpf_domain,
			'Inserisci qui la data di iscrizione.'
	);

	admin_field(
			'modalita',
			($readonly ? 'readonly' : 'select'),
			'Modalità di iscrizione',
			get_post_meta($post->ID, 'modalita', true),
			$wpf_domain,
			'Inserisci qui la modalità di iscrizione.'
	);

	admin_field(
			'key',
			($readonly ? 'readonly' : 'smalltext'),
			'Chiave per corso a pagamento',
			get_post_meta($post->ID, 'key', true),
			$wpf_domain,
			'Inserisci qui la chiave per il corso a pagamento.'
	);

	admin_field(
			'invito',
			($readonly ? 'readonly' : 'smalltext'),
			'Invito',
			get_post_meta($post->ID, 'invito', true),
			$wpf_domain,
			'Inserisci qui l\'invito.'
	);
}



wpf_iscrizione_hooks();

?>
